package com.jrx.anytxn.transaction.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "batchconfig.anytxn")
public class AnytxnBatchProperties {
    /**
     * 默认配置
     */
    private DefaultConfig defaultConfig = new DefaultConfig();

    /**
     * 抛帐作业属性
     */
    private DefaultConfig castAcctConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 计息作业配置
     */
    private DefaultConfig interestAccrualConfig = new DefaultConfig(1000, 0, 32, 50000);
    /**
     * 日切作业配置
     */
    private DefaultConfig cutoverConfiguration =new DefaultConfig(100, 0, 1, 1000);

    /**
     * 批扣初始化配置
     */
    private DefaultConfig autoPaymentInitConfiguration=new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 批扣配置
     */
    private DefaultConfig autoPaymentConfiguration=new DefaultConfig(1000, 0, 16, 10000);

    /**
     * 延滞初始化作业配置
     */
    private DefaultConfig delqInitConfig = new DefaultConfig(2000, 0, 16, 50000);
    /**
     * 延滞作业配置
     */
    private DefaultConfig delqConfig = new DefaultConfig(1000, 0, 24, 50000);

    /**
     * 延滞转表外作业配置
     */
    private DefaultConfig delqTransOutConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 延滞转内外作业配置
     */
    private DefaultConfig delqTransInConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 更新借据未抛帐利息，罚息，复利
     */
    private DefaultConfig updateUncastIntr = new DefaultConfig(2000, 0, 16, 50000);

    /**
     * 还款提醒短信配置
     */
    private DefaultConfig payReminderConfig=new DefaultConfig(100, 0, 1, 1000);

    /**
     * 核销处理配置
     */
    private DefaultConfig chargeoffConfig=new DefaultConfig(100, 0, 1, 1000);

    /**
     * 延迟短信
     */
    private DefaultConfig delaySmsSendConfig = new DefaultConfig(100, 0, 1, 1000);

    /**
     * 核销批量扣款配置
     */
    private DefaultConfig chargeoffPaymentConfig=new DefaultConfig(100, 0, 1, 100);

    /**
     * 催收准备
     */
    private DefaultConfig collectionConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿回购数据准备作业
     */
    private DefaultConfig cmpsCrtPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿扣款准备
     */
    private DefaultConfig cmpsPaymentPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 回购扣款准备
     */
    private DefaultConfig crtPaymentPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿回购扣款
     */
    private DefaultConfig guaranteeJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 利息计提文件处理
     */
    private DefaultConfig interestFileConfig = new DefaultConfig(100,0,1,1000);

    /**
     * 营销文件 作业配置
     */
    private DefaultConfig batchMarketingFileConfiguration = new DefaultConfig(100, 0, 1, 1000);


    /**
     * 文件还款
     */
    private DefaultConfig fileRepayConfig= new DefaultConfig(100, 0, 8, 50000);

    /**
     * 生成同步还款计划文件
     */
    private DefaultConfig generatePlanFileConfig = new DefaultConfig(100, 0, 1, 1000);

    /**
     * 技术服务费
     */
    private DefaultConfig dealServiceFeeConfig= new DefaultConfig(100, 0, 8, 50000);

    /**
     * 生成银行扣款结果文件
     */
    private DefaultConfig generateBankDeductionFileConfig = new DefaultConfig(100, 0, 1, 1000);


    /**
     * 生成银行放款转账对账明细分库文件

     */
    private DefaultConfig traAcctDetailConfiguration = new DefaultConfig(100, 0, 1, 1000);
    /**
     * 技术服务费文件处理
     */
    private DefaultConfig serviceFeeFileConfig= new DefaultConfig(100, 0, 1, 1000);

    /**
     * 合并文件
     */
    private DefaultConfig mergeFileConfig = new DefaultConfig(100, 0, 1, 1000);

    private DefaultConfig couponMonthlyConfig = new DefaultConfig(100, 0, 1, 1000);

    private DefaultConfig compensationActivateConfig = new DefaultConfig(10, 0, 1, 100);

    /**
     * 日终T24核心汇总记账初始化配置
     */
    private DefaultConfig dailyAccountInitConfiguration= new DefaultConfig(100, 0, 5, 2000);

    /**
     * 日终T24核心汇总记账配置
     */
    private DefaultConfig dailyAccountConfiguration= new DefaultConfig(100, 0, 1, 1000);


    public DefaultConfig getDefaultConfig() {
        return defaultConfig;
    }

    public void setDefaultConfig(DefaultConfig defaultConfig) {
        this.defaultConfig = defaultConfig;
    }

    public DefaultConfig getCastAcctConfig() {
        return castAcctConfig;
    }

    public void setCastAcctConfig(DefaultConfig castAcctConfig) {
        this.castAcctConfig = castAcctConfig;
    }

    public DefaultConfig getInterestAccrualConfig() {
        return interestAccrualConfig;
    }

    public void setInterestAccrualConfig(DefaultConfig interestAccrualConfig) {
        this.interestAccrualConfig = interestAccrualConfig;
    }

    public DefaultConfig getDelqConfig() {
        return delqConfig;
    }

    public void setDelqConfig(DefaultConfig delqConfig) {
        this.delqConfig = delqConfig;
    }

    public DefaultConfig getCutoverConfiguration() {
        return cutoverConfiguration;
    }

    public void setCutoverConfiguration(DefaultConfig cutoverConfiguration) {
        this.cutoverConfiguration = cutoverConfiguration;
    }

    public DefaultConfig getAutoPaymentInitConfiguration() {
        return autoPaymentInitConfiguration;
    }

    public void setAutoPaymentInitConfiguration(DefaultConfig autoPaymentInitConfiguration) {
        this.autoPaymentInitConfiguration = autoPaymentInitConfiguration;
    }

    public DefaultConfig getAutoPaymentConfiguration() {
        return autoPaymentConfiguration;
    }

    public void setAutoPaymentConfiguration(DefaultConfig autoPaymentConfiguration) {
        this.autoPaymentConfiguration = autoPaymentConfiguration;
    }


    public DefaultConfig getDelqInitConfig() {
        return delqInitConfig;
    }

    public void setDelqInitConfig(DefaultConfig delqInitConfig) {
        this.delqInitConfig = delqInitConfig;
    }

    public DefaultConfig getDelqTransOutConfig() {
        return delqTransOutConfig;
    }

    public void setDelqTransOutConfig(DefaultConfig delqTransOutConfig) {
        this.delqTransOutConfig = delqTransOutConfig;
    }

    public DefaultConfig getDelqTransInConfig() {
        return delqTransInConfig;
    }

    public void setDelqTransInConfig(DefaultConfig delqTransInConfig) {
        this.delqTransInConfig = delqTransInConfig;
    }

    public DefaultConfig getUpdateUncastIntr() {
        return updateUncastIntr;
    }

    public void setUpdateUncastIntr(DefaultConfig updateUncastIntr) {
        this.updateUncastIntr = updateUncastIntr;
    }

    public DefaultConfig getPayReminderConfig() {
        return payReminderConfig;
    }

    public void setPayReminderConfig(DefaultConfig payReminderConfig) {
        this.payReminderConfig = payReminderConfig;
    }

    public DefaultConfig getChargeoffConfig() {
        return chargeoffConfig;
    }

    public void setChargeoffConfig(DefaultConfig chargeoffConfig) {
        this.chargeoffConfig = chargeoffConfig;
    }

    public DefaultConfig getChargeoffPaymentConfig() {
        return chargeoffPaymentConfig;
    }

    public void setChargeoffPaymentConfig(DefaultConfig chargeoffPaymentConfig) {
        this.chargeoffPaymentConfig = chargeoffPaymentConfig;
    }

    public DefaultConfig getCollectionConfig() {
        return collectionConfig;
    }

    public void setCollectionConfig(DefaultConfig collectionConfig) {
        this.collectionConfig = collectionConfig;
    }

    public DefaultConfig getCmpsCrtPreJobConfig() {
        return cmpsCrtPreJobConfig;
    }

    public void setCmpsCrtPreJobConfig(DefaultConfig cmpsCrtPreJobConfig) {
        this.cmpsCrtPreJobConfig = cmpsCrtPreJobConfig;
    }

    public DefaultConfig getCmpsPaymentPreJobConfig() {
        return cmpsPaymentPreJobConfig;
    }

    public void setCmpsPaymentPreJobConfig(DefaultConfig cmpsPaymentPreJobConfig) {
        this.cmpsPaymentPreJobConfig = cmpsPaymentPreJobConfig;
    }

    public DefaultConfig getCrtPaymentPreJobConfig() {
        return crtPaymentPreJobConfig;
    }

    public void setCrtPaymentPreJobConfig(DefaultConfig crtPaymentPreJobConfig) {
        this.crtPaymentPreJobConfig = crtPaymentPreJobConfig;
    }

    public DefaultConfig getGuaranteeJobConfig() {
        return guaranteeJobConfig;
    }

    public void setGuaranteeJobConfig(DefaultConfig guaranteeJobConfig) {
        this.guaranteeJobConfig = guaranteeJobConfig;
    }

    public DefaultConfig getInterestFileConfig() {
        return interestFileConfig;
    }

    public void setInterestFileConfig(DefaultConfig interestFileConfig) {
        this.interestFileConfig = interestFileConfig;
    }

    public DefaultConfig getBatchMarketingFileConfiguration() {
        return batchMarketingFileConfiguration;
    }

    public void setBatchMarketingFileConfiguration(DefaultConfig batchMarketingFileConfiguration) {
        this.batchMarketingFileConfiguration = batchMarketingFileConfiguration;
    }

    public DefaultConfig getFileRepayConfig() {
        return fileRepayConfig;
    }

    public void setFileRepayConfig(DefaultConfig fileRepayConfig) {
        this.fileRepayConfig = fileRepayConfig;
    }

    public DefaultConfig getGeneratePlanFileConfig() {
        return generatePlanFileConfig;
    }

    public void setGeneratePlanFileConfig(DefaultConfig generatePlanFileConfig) {
        this.generatePlanFileConfig = generatePlanFileConfig;
    }

    public DefaultConfig getGenerateBankDeductionFileConfig() {
        return generateBankDeductionFileConfig;
    }

    public void setGenerateBankDeductionFileConfig(DefaultConfig generateBankDeductionFileConfig) {
        this.generateBankDeductionFileConfig = generateBankDeductionFileConfig;
    }

    public DefaultConfig getDealServiceFeeConfig() {
        return dealServiceFeeConfig;
    }

    public void setDealServiceFeeConfig(DefaultConfig dealServiceFeeConfig) {
        this.dealServiceFeeConfig = dealServiceFeeConfig;
    }

    public DefaultConfig getServiceFeeFileConfig() {
        return serviceFeeFileConfig;
    }

    public void setServiceFeeFileConfig(DefaultConfig serviceFeeFileConfig) {
        this.serviceFeeFileConfig = serviceFeeFileConfig;
    }

    public DefaultConfig getMergeFileConfig() {
        return mergeFileConfig;
    }

    public void setMergeFileConfig(DefaultConfig mergeFileConfig) {
        this.mergeFileConfig = mergeFileConfig;
    }

    public DefaultConfig getTraAcctDetailConfiguration() {
        return traAcctDetailConfiguration;
    }

    public void setTraAcctDetailConfiguration(DefaultConfig traAcctDetailConfiguration) {
        this.traAcctDetailConfiguration = traAcctDetailConfiguration;
    }

    public DefaultConfig getDelaySmsSendConfig() {
        return delaySmsSendConfig;
    }

    public void setDelaySmsSendConfig(DefaultConfig delaySmsSendConfig) {
        this.delaySmsSendConfig = delaySmsSendConfig;
    }

    public DefaultConfig getCouponMonthlyConfig() {
        return couponMonthlyConfig;
    }

    public void setCouponMonthlyConfig(DefaultConfig couponMonthlyConfig) {
        this.couponMonthlyConfig = couponMonthlyConfig;
    }

    public DefaultConfig getCompensationActivateConfig() {
        return compensationActivateConfig;
    }

    public void setCompensationActivateConfig(DefaultConfig compensationActivateConfig) {
        this.compensationActivateConfig = compensationActivateConfig;
    }

    public DefaultConfig getDailyAccountInitConfiguration() {
        return dailyAccountInitConfiguration;
    }

    public void setDailyAccountInitConfiguration(DefaultConfig dailyAccountInitConfiguration) {
        this.dailyAccountInitConfiguration = dailyAccountInitConfiguration;
    }

    public DefaultConfig getDailyAccountConfiguration() {
        return dailyAccountConfiguration;
    }

    public void setDailyAccountConfiguration(DefaultConfig dailyAccountConfiguration) {
        this.dailyAccountConfiguration = dailyAccountConfiguration;
    }
}
